#ifndef AUDIOMANAGER_H
#define AUDIOMANAGER_H

#include <QString>

class AudioManager
{
public:
    /**
     * @brief startRing 播放
     * @param audioFile 音频文件
     * @param cardId 声卡号
     * @param deviceId 设备号
     * @param message 执行日志
     * @return 命令执行是否成功
     */
    static bool play(const QString audioFile, int cardId = 0, int deviceId = 0, QString *message = Q_NULLPTR);

    /**
     * @brief stop 停止播放
     * @param message 执行日志
     * @return 命令执行是否成功
     */
    static bool stop(QString *message = Q_NULLPTR);

    /**
     * @brief setVolume 设置音量
     * @param value 音量值 0-100
     * @param m_cardId 声卡号
     * @param message 执行日志
     * @return 命令执行是否成功
     */
    static bool setVolume(int value, int m_cardId = 0, QString *message = Q_NULLPTR);

private:
    AudioManager();
    Q_DISABLE_COPY(AudioManager)
};

#endif // AUDIOMANAGER_H
